[ 템플릿 코드 ]
#include <string>
#include <vector>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
vector<vector<int>> answer;
return answer;
}[ 풀이 ]
#include <string>
#include <vector>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2)
{
vector<vector<int>> answer = arr1;
for (int i = 0; i < arr1.size(); i++)
{
for (int j = 0; j < arr1[i].size(); j++)
{
answer[i][j] += arr2[i][j];
}
}
return answer;
}[ 해설 ]
#include <string>
#include <vector>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2)
{
// 최종 결과를 저장할 2차원 벡터
// arr1의 구조(행과 열의 개수)를 그대로 복사해옴
vector<vector<int>> answer = arr1;
// 모든 행(Row)을 순회
// arr1.size()는 행의 개수
for (int i = 0; i < arr1.size(); i++)
{
// 현재 행의 모든 열(Column)을 순회
// arr1[i].size()는 i번째 행의 열 개수
for (int j = 0; j < arr1[i].size(); j++)
{
// 같은 위치에 있는 두 원소를 더함
//
// 예시)
// arr1 = [[1,2],
// [2,3]]
//
// arr2 = [[3,4],
// [5,6]]
//
// i = 0, j = 0
// answer[0][0] = 1 + 3 = 4
//
// i = 0, j = 1
// answer[0][1] = 2 + 4 = 6
//
// i = 1, j = 0
// answer[1][0] = 2 + 5 = 7
//
// i = 1, j = 1
// answer[1][1] = 3 + 6 = 9
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
// 완성된 행렬 반환
return answer;
}[ 타 답안 ]
#include <string>
#include <vector>
using namespace std;
vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2)
{
// 최종 결과를 저장할 2차원 벡터
// 예)
// [
// [4, 6],
// [7, 9]
// ]
vector<vector<int>> answer;
// 한 행(Row)의 결과를 임시로 저장할 벡터
// 예)
// [4, 6]
vector<int> Q;
// arr1의 모든 행을 순회
// i = 현재 처리 중인 행 번호
for (int i = 0; i < arr1.size(); i++)
{
// 현재 행의 모든 열을 순회
// j = 현재 처리 중인 열 번호
for (int j = 0; j < arr1[i].size(); j++)
{
// 같은 위치의 값을 더해서
// 현재 행을 저장하는 Q에 추가
// 예)
// arr1[0][0] = 1
// arr2[0][0] = 3
// 1 + 3 = 4
Q.push_back(arr1[i][j] + arr2[i][j]);
}
// 한 행의 계산이 끝났으므로
// Q를 answer에 추가
// 예)
// Q = [4, 6]
//
// answer =
// [
// [4, 6]
// ]
answer.push_back(Q);
// 다음 행 계산을 위해 Q를 비움
// 예)
// Q = []
Q.clear();
}
// 완성된 행렬 반환
return answer;
}